package com.fanshilz.flower2025.apps.wechatminiapp.project.resp;

import com.fanshilz.flower2025.apps.admin.project.resp.AttachmentDetailResp;
import com.mybatisflex.annotation.RelationOneToMany;
import com.mybatisflex.annotation.RelationOneToOne;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
public class WechatProjectDetailDesp {

    //    @Id(keyType = KeyType.Auto)
    @Schema(description = "线索ID")
    private Long projectId;

    @Schema(description = "线索简称")
    private String projectShortName;

//    @Schema(description = "线索名称")
//    private String projectName;

    /**
     * UUID
     */
    @Schema(description = "线索编号")
    private String projectUuid;

    /**
     * 年收入
     */
    @Schema(description = "年收入 万元/年")
    private Double projectIncomeYearMoney;

    /**
     * 年利润
     */
    @Schema(description = "年利润 万元/年")
    private Double projectProfitYearMoney;

    /**
     * 成立时间
     */
//    private Timestamp projectFoundingTime;

    /**
     * 成立了多少年
     */
    @Schema(description = "成立时间 年")
    private Integer projectFoundingTimeYear;

    /**
     * 地址省份
     */
    @Schema(description = "地址省份")
    private String projectProvinceName;

    /**
     * 地址省份code
     */
    @Schema(description = "地址省份code")
    private String projectProvinceCode;

    /**
     * 地址城市
     */
    @Schema(description = "地址城市")
    private String projectCityName;

    /**
     * 地址城市code
     */
    @Schema(description = "地址城市code")
    private String projectCityCode;

    /**
     * 地址区
     */
    @Schema(description = "地址区县")
    private String projectAreaName;

    /**
     * 地址区code
     */
    @Schema(description = "地址区县code")
    private String projectAreaCode;

    /**
     * 售价 叫价
     */
    @Schema(description = "叫价 万元")
    private Double projectSellingPriceMoney;

    /**
     * 行业
     */
    @Schema(description = "行业/label")
    private String projectIndustryLabel;

    /**
     * 行业value
     */
    @Schema(description = "行业/value")
    private Integer projectIndustryValue;

    /**
     * 类型
     */
    @Schema(description = "类型/label")
    private String projectTypeLabel;

    /**
     * 类型value
     */
    @Schema(description = "类型/value")
    private Integer projectTypeValue;

    /**
     * 员工人数
     */
    @Schema(description = "员工人数")
    private Integer projectEmployeesNumber;

    /**
     * 出售原因
     */
    @Schema(description = "出售原因")
    private String projectSellReasonLabel;

    /**
     * 出售原因value
     */
    @Schema(description = "出售原因value")
    private Integer projectSellReasonValue;

    /**
     * 出售原因value
     */
    @Schema(description = "用户昵称")
    private String projectUserName;

    /**
     * 出售股份比例
     */
    @Schema(description = "出售股份比例 %")
    private Double projectSellSharesProportion;

    /**
     * 公司介绍
     */
    @Schema(description = "公司介绍")
    private String projectCorporationDesc;

    /**
     * 生意亮点
     */
    @Schema(description = "生意亮点")
    private String projectBusinessHighlightDesc;

    /**
     * 运营情况
     */
    @Schema(description = "运营情况")
    private String projectOperationSituationDesc;

    /**
     * 其他信息
     */
    @Schema(description = "其他信息")
    private String projectOtherDesc;

    /**
     * 项目状态
     */
//    private String projectStatusLabel;

    /**
     * 项目状态value
     */
//    private Integer projectStatusValue;

    /**
     * 交易状态
     */
//    private String projectTradingStatusLabel;

//    private Integer projectTradingStatusValue;

    /**
     * 发布人
     */
//    private String projectUserName;

//    private Integer projectUserAge;

//    private String projectUserMobile;

    @Schema(description = "用户身份label")
    private String projectUserTypeLabel;

    @Schema(description = "用户身份value")
    private Integer projectUserTypeValue;

    @RelationOneToOne(selfField = "projectId", targetField = "projectId", targetTable = "flower_project_collect", extraCondition = "create_user_id = :createUserId")
    private ProjectCollectResp projectCollect;

    @RelationOneToMany(selfField = "projectId", targetField = "objId", targetTable = "flower_attachment", extraCondition = "obj_type = 3")
    private List<AttachmentDetailResp> projectDetailCoverImages;

    @RelationOneToOne(selfField = "projectId", targetField = "linkProjectId", targetTable = "flower_project_link", extraCondition = "create_user_id = :createUserId")
    private RequestLinkListResp projectLink;

//    private Integer createUserType;

//    private Integer projectSort;

//    private Timestamp projectPublishTime;
//    private Long projectPublishUserId;
//    private String projectPublishUserName;

//    private String projectWechatUserNickName;

//    private String projectWechatUserMobile;

}
